package com.implemetsystem.prestacontas.geral.manager;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped;
import javax.inject.Named;

import com.implementsystem.prestacontas.municipios.entity.Municipio;
import com.implementsystem.prestacontas.municipios.session.MunicipioSession;

@Named(value="municipioManager")
@ConversationScoped
public class MunicipioManager extends GenericManager implements Serializable{

	private static final long serialVersionUID = -1631139474643880524L;
	
	/*@EJB
	private MunicipioClient municipioClient; */
	
	@EJB
	private MunicipioSession session;	
	private List<Municipio> municipios = new ArrayList<Municipio>();
	private Municipio municipio = new Municipio();
	private String ano;
	private Boolean mostrar = false;
	
	public String prepareListMunicipios(){
		
		municipios = session.findAllOrderByDescricao();
		mostrar = false;
		return "municipioTeste";
	}
	
	public String selecionarAno(){
		municipio = session.findById(Municipio.class, municipio.getId());
		mostrar = true;
		ano = "";
		return null;
	}
	
	public void verResultado(){
		System.out.println(ano);
	}
	
	
	/*public void teste(){
		municipios = new ArrayList<Municipio>();
		
		try {
			
			municipios = session.findAllOrderByDescricao();
			
			if(municipios == null || municipios.isEmpty()){
				municipios =  municipioClient.listaMunicipios().getMunicipios();
				
				if(municipios != null && !municipios.isEmpty()){
					for (Municipio munic : municipios) {
						session.save(munic);
					}
				}
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}*/
	
	
	public List<Municipio> getMunicipios() {
		
		return municipios;
		
	}
	
	public void setMunicipios(List<Municipio> municipios) {
		this.municipios = municipios;
	}
	
	public Municipio getMunicipio() {
		return municipio;
	}
	public void setMunicipio(Municipio municipio) {
		this.municipio = municipio;
	}

	public Boolean getMostrar() {
		return mostrar;
	}
	public void setMostrar(Boolean mostrar) {
		this.mostrar = mostrar;
	}

	public String getAno() {
		return ano;
	}
	public void setAno(String ano) {
		this.ano = ano;
	}

}
